perm filename FORMAT[LSP,JRA]7 blob sn#234202 filedate 1976-08-27 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	
C00011 00003	.FOOTSEP ← "________________"
C00012 ENDMK
C⊗;

.TURN ON "{#%"
.TURN OFF "-" << Too many minus signs would be mistaken for hyphens. >>

.DEVICE XGP;
.!XGPLFTMAR←200;


.HLINES← IF XCRIBL THEN 49 ELSE 53;	<< NUMBER OF LINES/PAGE >>
.WCHARS← IF XCRIBL THEN 81 ELSE 69;	<< NUMBER OF CHARS/LINE >>
.PAGE FRAME HLINES+2 HIGH WCHARS WIDE;
.AREA TEXTER LINES 4 TO HLINES CHARS 1 TO WCHARS;
.TITLE AREA FOOTING LINE HLINES+1 CHARS 1 TO WCHARS;
.TITLE AREA HEADING LINES 1 TO 3 CHARS 1 TO WCHARS;
.PLACE TEXTER;

.VARIABLE SECNAME, SSNAME, SSNUMBER, FOO, CATEGORY;
.COUNT SECTION;
.COUNT SUBSECTION IN SECTION PRINTING "!.1";
.COUNT APPENDIX;

.MACRO SEC(NAME,ABBREV,PHRASE,LABEL) ⊂
.IF SSNAME ≠ SECNAME THEN FOO←TRUE ELSE FOO←FALSE;
.	SSNAME ← SECNAME ← IF "ABBREV"≠NULL THEN "ABBREV" ELSE "NAME";
.	SSNUMBER ← (SECTION+1)&"."
.	SKIP TO COLUMN 1; LABEL  NEXT SECTION!;
.		BEGIN
.		CENTER
%2SECTION {!}
.		SKIP
.NAM←↑"NAME";
{NAM}%*
.		SKIP 3;
.		CAT("PHRASE","NAME");
.IF FOO THEN	SEND CONTENTS ⊂ SKIP 2;
∂4{SECTION!}∂8{NAM}→{PAGE!}{SKIP;⊃
.ELSE		SEND CONTENTS ⊂ SKIP ;
∂4{SECTION!}∂8{NAM}→{PAGE!}{SKIP;⊃
.		END	⊃


.MACRO SS(NAME,PHRASE,LABEL) ⊂
.		SSNUMBER←SECTION!&"."&(SUBSECTION+1);
.		SSNAME←"NAME";
.		IF LINES≤7 THEN NEXT PAGE;
.		LABEL  NEXT SUBSECTION!;
.		BEGIN
.		SKIP 3
.		CAT("PHRASE","NAME");
.		SEND CONTENTS ⊂ 
∂(13){!}∂(19)NAME\∞ ∞.∞ →#{PAGE!}
. ⊃
.		CENTER
%2{!}##NAME%*{	SKIP;
.		END		⊃

.MACRO SSP(NAME,PHRASE,LABEL) ⊂
.	SKIP TO COLUMN 1
.SS("NAME","PHRASE","LABEL")  ⊃


.MACRO CAT(PHRASE,NAME) ⊂IF "PHRASE"≠NULL THEN
.	IF "PHRASE"="←" THEN SEND INDEX ⊂}<{PAGE}≤NAME≥{⊃
.	ELSE SEND INDEX ⊂}<{PAGE}≤PHRASE≥{⊃	⊃

.MACRO REFER (THIS,THAT) ⊂SEND INDEX ⊂}<⊗∪see∩ THAT≤THIS≥{⊃ ⊃

.AT "⊗→" SPECIFIC "↔" GENERIC "←" ⊂
.IF "GENERIC"≠NULL THEN
.	START	SEND INDEX ⊂}<{PAGE}≤GENERIC, SPECIFIC≥{⊃; "SPECIFIC GENERIC"; END
.ELSE	START	SEND INDEX ⊂}<{PAGE}≤SPECIFIC≥{⊃; "SPECIFIC"; END ⊃

.AT "⊗>" SPECIFIC "↔" GENERIC "←" ⊂
.IF "GENERIC"≠NULL THEN
.	START	SEND INDEX ⊂}<{PAGE}≤GENERIC, SPECIFIC {CATEGORY}≥{⊃; "SPECIFIC GENERIC"; END
.ELSE	START	SEND INDEX ⊂}<{PAGE}≤SPECIFIC {CATEGORY}≥{⊃; "SPECIFIC"; END ⊃

.MACRO SETCATEGORY(TEXT) ⊂ CATEGORY ← "TEXT" ;⊃

.MACRO STANDARD BACK ⊂
.SSNAME ← "INDEX"; SECNAME ← SSNUMBER ← NULL
.	BEGIN FILL NOJUST INDENT 0,3 PREFACE 0 TURN ON "←→∞\"
.	AREA TEXTER LINES 4 TO HLINES-2 IN 2 COLUMNS 3 APART
.	PORTION INDEX
.	IF EVEN PAGE THEN NEXT PAGE;
.	PLACE TEXTER
.	SELECT 1;
.	SECNAME ← "INDEX";
.send contents ⊂skip 2;
∂4{secname}→{page!}{skip;⊃
.	WASWORD ← WASPG ← NULL ;
.	AT "<" PGNO "≤" PHRASE "≥" ⊂
.		IF "PHRASE" ≠ WASWORD THEN START BREAK }PHRASE   PGNO{ END
.		ELSE IF "PGNO" ≠ WASPG THEN }, PGNO{ ;
.		WASPG ← "PGNO" ; WASWORD ← "PHRASE" ; ⊃
.	RECEIVE "≤≥"
.	END
.SECNAME ← SSNAME ← "CONTENTS"
.SSNUMBER ← NULL
.COUNT PAGE PRINTING "i"
.PORTION CONTENTS
.FILL NOJUST CRBREAK TURN ON "←→∂\∞"
.PLACE TEXT
.INDENT 0,30,10 PREFACE 0 TABS 21,24,27,30,33,36,39,42,45,48,51,54,57,60,63;
.SELECT 2
←T A B L E   O F   C O N T E N T S
.SKIP 3
%2CHAPTER→PAGE%1
.SKIP;
.SELECT 1
.RECEIVE
.⊃

.MACRO APP(NAME,ABBREV,PHRASE,LABEL) ⊂
.		SECNAME ← IF "ABBREV"≠NULL THEN "ABBREV" ELSE "NAME";
.		SSNUMBER ← NULL;
.		SSNAME ← "Appendix "&(APPENDIX+1);
.	SKIP TO COLUMN 1; LABEL  NEXT APPENDIX!;
.		BEGIN
.		CENTER
%2APPENDIX {!}
.		SKIP
.NAM←↑"NAME"
{NAM}%*
.		SKIP 3
.		CAT("PHRASE","NAME");
.		SEND CONTENTS ⊂ SKIP;
∂4{APPENDIX!}∂8{NAM}→{PAGE!}{  ⊃
.		END	⊃

.MACRO APPX(NAME,ABBREV,PHRASE,LABEL) ⊂
.		SECNAME ← IF "ABBREV"≠NULL THEN "ABBREV" ELSE "NAME";
.		SSNUMBER ← NULL;
.		SSNAME ← "Appendix "&(APPENDIX+1);
.	SKIP TO COLUMN 1; LABEL  NEXT APPENDIX!;
.		BEGIN
.		CENTER
%2APPENDIX {!}
.		SKIP
.NAM←↑"NAME"
{NAM}%*
.		SKIP 1
.		CAT("PHRASE","NAME");
.		SEND CONTENTS ⊂ SKIP;
∂4{APPENDIX!}∂8{NAM}→{PAGE!}{  ⊃
.		END	⊃

.MACRO CENT (NAME,PHRASE) ⊂IF LINES ≤ 7 THEN SKIP TO COLUMN 1;;
.CAT("PHRASE","NAME");
.BEGIN CENTER SKIP 3
%2NAME%*
.SKIP; END
.⊃


.MACRO SVERBATIM ⊂VERBATIM; SELECT 3 ⊃

.MACRO SAMPLE ⊂SKIP 1; ONCE SVERBATIM ⊃

.COUNT FOOTNOTE INLINE TO 10 IN PAGE printing "%8#!1%*";

.AT "⊗↓" ENTRY "←" ⊂NEXT FOOTNOTE ; ! ;
.SEND FOOT ⊂
{!} ENTRY
.BREAK ⊃ ⊃

.MACRO YON (LABEL) ⊂"page#";PAGE! LABEL⊃

.MACRO YONAPP (LABEL) ⊂"Appendix ";APPENDIX! LABEL⊃

.MACRO YONSEC (LABEL) ⊂"Chapter#";SECTION! LABEL⊃

.MACRO YONSS (LABEL) ⊂"Section#";SUBSECTION! LABEL⊃

.MACRO TABLE ⊂ BEGIN
.SKIP 1
.NARROW 2,2; GROUP; TABS 10 ; TURN ON "\" ;
.NOFILL ; PREFACE 0 ; SELECT 4;
.INDENT 0,9 ; BREAK ⊃

.FOOTSEP ← "________________"
.SECNAME ← SSNUMBER ← SSNAME ← NULL
.ODD HEADING(%2{SSNUMBER},,{SSNAME}	{PAGE}%*)
.EVEN HEADING(%2{PAGE}	{SECNAME},,{SSNUMBER}%*)

.INSERT CONTENTS
.PORTION MAINPORTION
.COMPACT
.COUNT PAGE TO 999;
.NEXT PAGE